package com.itheima.datastructure.demo1;

public class SortedArrayDuplicates {
    public static void main(String[] args) {
        System.out.println(removeDuplicates(new int[]{1, 1, 2, 2, 4}));
    }

    /**
     * 移除排序数组中的重复元素，并返回新数组的长度。
     *
     * @param nums 排序的整数数组
     * @return 新数组的长度
     */
    public static int removeDuplicates(int[] nums) {
        // 输入验证
        if (nums == null) {
            throw new IllegalArgumentException("Input array cannot be null");
        }

        // 边界条件处理
        if (nums.length <= 1) {
            return nums.length;
        }

        int uniqueIndex = 0;
        for (int currentIndex = 1; currentIndex < nums.length; currentIndex++) {
            if (nums[uniqueIndex] != nums[currentIndex]) {
                nums[++uniqueIndex] = nums[currentIndex];
            }
        }
        return uniqueIndex + 1;
    }
}

